﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;

namespace NHibernateProvider
{
    public interface IUserRepository
    {
        User GetUserByName(string userName, string appName);
        string GetUserNameByEMail(string EMail, string appName);
        User GetUserByID(Int32 userID);
        void SaveUser(User userToSave);
        void DeleteUser(User userToDelete);
        List<User> GetAllUsers(int pageIndex, int pageSize, string appName);
        List<User> FindUsersByEMail(string email, int pageIndex, int pageSize, string appName);
        List<User> FindUsersByName(string userName, int pageIndex, int pageSize, string appName);
        int GetNumberOfUsersOnline(DateTime compareTime, string appName);
    }
}
